﻿using Sustainalytics.Utils;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Sustainalytics.CompanySearch.StressTest
{
    public class CompanySearchStressTestSpec
    {
        /// <summary>
        /// Test spec ID.
        /// </summary>
        public int TestSpecId { get; set; }

        /// <summary>
        /// The number of concurrent requests that should be run.
        /// </summary>
        public int ConcurrentRequestsCount { get; set; }

        /// <summary>
        /// Number of test cycles.
        /// </summary>
        public int Count { get; set; }

        /// <summary>
        /// Search term.
        /// </summary>
        public string Term { get; set; }

        /// <summary>
        /// Search paging options.
        /// </summary>
        public PagingOptions PagingOptions { get; set; }


        /// <summary>
        /// Ctor.
        /// </summary>
        /// <param name="concurrentRequestsCount"></param>
        /// <param name="count"></param>
        /// <param name="term"></param>
        /// <param name="pagingOptions"></param>
        public CompanySearchStressTestSpec(int testSpecId, int concurrentRequestsCount, int count, string term, PagingOptions pagingOptions)
        {
            this.TestSpecId = testSpecId;
            this.ConcurrentRequestsCount = concurrentRequestsCount;
            this.Count = count;
            this.Term = term;
            this.PagingOptions = pagingOptions;
        }
    }
}
